// pages/choose1/choose1.js
const app = getApp();
Page({

  /**
   * 页面的初始数据 
   */
  data: {
    num : null,
    group: 1,//每一组的分类
    count: null,//分类的总数
    answer: [],//答案
    backanswer:[],//将答案传回给选项的组件
    title: [],
    choosefen : {},
    choosednum : 0,
    choosefens : [],
    lastpage : false,
  },
  
  // 上一页的题目
  lastPage() {
    if (this.data.group <=1) {
    wx.showToast({
      title: '已经没有上一页',
      icon: 'none',
      duration: 1500,
    });
    } 
    
    else {
      this.data.group--
      this.setData({
      group:this.data.group
    })
    }
   this.setData({
    lastpage : false
   })
    // 计算当前页面题目总数
    let num = 0; 
    // console.log(this.data.choosefen);
    for(let i of this.data.title){
     if(i.group == this.data.group){
       num++;
     }
    }
    this.setData({
      num : num,
    })
    this.setData({
      choosednum :0
    })
    this.countfinfshnum()
    this.computedpage()
  },
  computedpage(){
    let num = 0; 
    for(let i of this.data.title){
     if(i.CtIdno == this.data.group){
       num++;
     }
    }
    this.setData({
      num : num,
    })
  
  },
  // 下一页的题目
  nextPage() {
   
   if (this.data.group >= this.data.choosefens.length-1) {
   this.setData({
    lastpage : true
   })
    } 
    this.data.group++
    this.setData({
      group:this.data.group
    })
    
    // 计算当前页面题目总数
    let num = 0; 
    for(let i of this.data.title){
     if(i.group == this.data.group){
       num++;
     }
    }
    this.setData({
      num : num,
    })
   
    this.setData({
      choosednum :0
    })
    this.countfinfshnum()
   this.computedpage()
    // console.log(this.data.group);
  
  },
  // 获取选项框的值
  getValue(e) {
    this.data.answer = app.globalData.choosehistory
    // console.log(e.detail);
    this.data.answer[e.detail.currentIndex] = e.detail.value
      this.setData({
        answer: this.data.answer,
        backanswer:this.data.answer
      })
      // console.log(this.data.answer);
     
      this.countfinfshnum()
 
  },
  countfinfshnum(){
    let num =0
    if(this.data.group === 1){
      for(let i = 0;i < this.data.choosefens[this.data.group-1];i++){
          if(this.data.backanswer[i] !== undefined){
            num++
          }
      }
    }else{
      for(let i = this.data.choosefens[this.data.group-2];i < this.data.choosefens[this.data.group-1];i++){
        if(this.data.backanswer[i] !== undefined){
          num++
        }
    } 
    }
   this.setData({
    choosednum : num
   })
  },
  countbacknum(that){
    let num =0
    if(that.data.group === 1){
      for(let i = 0;i < that.data.num;i++){
          if(app.globalData.choosehistory[i] !== undefined){
            num++
          }
      }
    }
    
   that.setData({
    choosednum : num
   })
  
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
      this.getTableData();
      
   
   
  },

  // 判断题目是否做完
  sumit(){ 
    
    // console.log(this.data.answer);
    if(this.data.answer.length === this.data.title.length){
      
      for(let i = 0;i < this.data.answer.length;i++){
        if(this.data.answer[i] === undefined){
          wx.showToast({
            title: '您还有题目没有做完',
            icon: 'none',
            
            duration: 1500,
            mask: false,
            success: (result) => {
             
              
            },
            fail: () => {
            },
            complete: () => {
            }
          });  
          this.data.answer[i] = ''   
        }
        }
        if(!(this.data.answer.some(item => item===''))){
          wx.request({
                //请求接口的地址
               url: 'http://127.0.0.1/postvalue', 
               data: {
                answer : this.data.answer,
                choosefen : this.data.choosefen
               },
               header: {
                 "Content-Type": "applciation/json" //默认值
               },
               success: function (res) {
                // console.log(res);
                wx.navigateTo({
                  url: '/pages/result/result?choosedata=' + JSON.stringify(res.data),
                  success: (result)=>{
                  
                  }, 
                  fail: ()=>{},
                  complete: ()=>{}
                });
                },
               fail: function (err) { 
                console.log(err);
               },
               complete: function () {
                }
             })
         }
        console.log(this.data.answer)
      }else{
        wx.showToast({
          title: '您还有题目没有做完',
          icon: 'none',
          
          duration: 1500,
          mask: false,
          success: (result) => {
           
            
          },
          fail: () => {
          },
          complete: () => {
          }
        });     
      }
     
  // if(this.data.answer.length){
  //   wx.request({
  //     //请求接口的地址
  //    url: 'http://127.0.0.1/postvalue', 
  //    data: {
  //     answer : this.data.answer,
  //     choosefen : this.data.choosefen
  //    },
  //    header: {
  //      "Content-Type": "applciation/json" //默认值
  //    },
  //    success: function (res) {
  //     // console.log(res);
  //     wx.navigateTo({
  //       url: '/pages/result/result?choosedata=' + JSON.stringify(res.data),
  //       success: (result)=>{
        
  //       },
  //       fail: ()=>{},
  //       complete: ()=>{}
  //     });
  //     },
  //    fail: function (err) { 
  //     console.log(err);
  //    },
  //    complete: function () {
  //     }
  //  })
   
  // }
    

    
  

   
   
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {
    
    if( app.globalData.choosehistory.length > 0){
      this.setData({
        backanswer : app.globalData.choosehistory
      })     
      // console.log(this.data.backanswer);
    }

  }, 
  getTableData: function () {//自定义函数名称
   
    var that = this; 
    // 这个地方非常重要，重置data{}里数据时候setData方法的this应为以及函数的this, 如果在下方的sucess直接写this就变成了wx.request()的this了
    wx.request({
       //请求接口的地址
      url: 'http://127.0.0.1/choose', 
      data: {
      },
      header: {
        "Content-Type": "applciation/json" //默认值
      },
      success: function (res) {
        // console.log(res.data.res);
          that.setData({
            title: res.data.res,
            choosefen : res.data.choosefen,
            choosefens : res.data.arr2
         })
         that.computednum();
          },
      fail: function (err) { },
      complete: function () {
       that.countbacknum(that);
       }//请求完成后执行的函数
    })
  },
  // 计算页数和题目数
  computednum(){
    let count = 1
    this.data.title.forEach((item, index) => {
      
      if (item.CtIdno !== count) {
        count++ 
      }
    })
    this.setData({
      count : count
    })
    // console.log(this.data.count);
    // 计算当前页面题目总数
    let num = 0; 
   
    for(let i of this.data.title){
     if(i.CtIdno == this.data.group){
       num++;
     }
    }
    this.setData({
      num : num,
    })
    // console.log(this.data.num);
  },
  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
   
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {
    
  },

  /**
   * 生命周期函数--监听页面卸载
   */
   onUnload: function () {
    var _this=this;//必须代码；
    if(_this.data.answer.length !== 0 ){
            wx.showModal({
                title: '提示',
                content: '是否保存修改信息？',
                success: function(res) {
                          // console.log(_this.data.backanswer);
                    // 应该是保存到全局
                    if (res.confirm) {
                      app.globalData.choosehistory = _this.data.backanswer;
                    } else if (res.cancel) {
                      app.globalData.choosehistory = []
                    }
                  },
                
            })
        };
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})